﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Web.UI;
using System.Web.UI.WebControls;
using Sebra.Academico.InfraEstrutura.Core.Helper;
using Sebrae.Academico.Trilhas.BP;
using Sebrae.Academico.Trilhas.Dominio.Classes;

namespace Sebrae.Academico.Trilhas.WebForms.Cadastros
{
    public partial class ListarItemTrilha : System.Web.UI.Page
    {

        private ManterItemTrilha manterItemTrilha = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ucItemTrilha1.ExibirLinhaPontos(false);
            }
        }
              
        protected void btnNovo_Click(object sender, EventArgs e)
        {
            Response.Redirect("EdicaoItemTrilha.aspx");
        }

        protected void dgvItemTrilha_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("delete"))
            {
                manterItemTrilha = new ManterItemTrilha();
                int idItemTrilha= int.Parse(e.CommandArgument.ToString());
                manterItemTrilha.Excluir(new ItemTrilha() { ID = idItemTrilha });
                Response.Redirect("ListarItemTrilha.aspx", false);
            }
            else if (e.CommandName.Equals("editar"))
            {
                int idTrilhaTopicoTematico = int.Parse(e.CommandArgument.ToString());
                Session.Add("TrilhaTopicoTematicoEdit", idTrilhaTopicoTematico);
                Response.Redirect("ListarItemTrilha.aspx", false);
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {

            if (Page.IsValid)
            {
                try
                {
                    ItemTrilha itemTrilha = ucItemTrilha1.ObterObjetoItemTrilha();
                    manterItemTrilha = new ManterItemTrilha();
                    IList<ItemTrilha> ListaItemTrilha = manterItemTrilha.ObterPorFiltro(itemTrilha);

                    WebFormHelper.PreencherGrid(ListaItemTrilha, this.dgvItemTrilha);
                }
                catch (Exception ex)
                {
                    //TODO -> Exibir mensagem de Erro em um alert ? -> Precisamos definir isso
                    throw ex;
                }
            }
        }
    }
}